package com.storm.future.red.common;

/**
 * 红警中诸如发电厂等第一栏的建筑
 * @author gu
 */
public interface Building extends Unit {
    /**
     * 建造过程中的各种操作。
     * 主要是针对基地的状态进行修改。
     * @return 建造是否成功
     * */
    boolean construct();

    /**
     * 电力不足的时候应当执行该方法
     * */
    void shutdown();

    /**
     * 电力由不足转向充足时，应执行该方法
     * */
    void active();

    /**
     * 该建筑物被摧毁时应执行的方法
     * */
    void destroy();

    /**
     * 该建筑被卖掉时应执行的操作
     * */
    void sale();
}